package com.naiterui.ehp.bs.im.repository.mongo;

import java.io.Serializable;

import io.swagger.annotations.ApiModelProperty;

/**
 * 通用的分页参数
 * <P>File name : PageParamVO.java </P>
 * <P>Author : zhouyanxin </P>
 * <P>Date : 2014-10-1 </P>
 */
public class PageParamVO implements Serializable {

    /**
     * 字段或域定义：<code>serialVersionUID</code>
     */
    private static final long serialVersionUID = 5286136799619243513L;

    /**
     * 默认每页记录数
     */
    private static final int DEFAULT_PAGE_SIZE = 10;

    /**
     * 页码
     */
    @ApiModelProperty("页码")
    private int page = 1;

    /**
     * 每页记录数
     */
    @ApiModelProperty("每页记录数")
    private int num = DEFAULT_PAGE_SIZE;

    /**
     * 构造函数
     */
    public PageParamVO() {

    }

    /**
     * 构造函数
     */
    public PageParamVO(int page, int num) {
        this.page = page;
        this.num = num;
    }

    /**
     * @return int 取得域 page 的方法。
     */
    public int getPage() {
        // return page <= 0 ? 1 : page;
        return this.page;
    }

    /**
     * @param page 对域 page 的设置方法.
     */
    public void setPage(int page) {
        this.page = page;
    }

    /**
     * @return int 取得域 num 的方法。
     */
    public int getNum() {
        return this.num <= 0 ? DEFAULT_PAGE_SIZE : this.num;
    }

    /**
     * @param num 对域 num 的设置方法.
     */
    public void setNum(int num) {
        this.num = num;
    }

    @Override
    public String toString() {
        return "PageParamVO{" + "page=" + this.page + ", num=" + this.num + '}';
    }

}
